 public class Example4_23 {

   public static void main(String args[]) {

      Rational r1=new Rational();

      r1.setNumerator(1);

      r1.setDenominator(5);

      Rational r2=new Rational();

      r2.setNumerator(3);

      r2.setDenominator(2);

      Rational result=r1.add(r2); 

      int a=result.getNumerator();

      int b=result.getDenominator();  

      System.out.println("1/5+3/2 = "+a+"/"+b);

      result=r1.sub(r2);

      a=result.getNumerator();

      b=result.getDenominator();    

      System.out.println("1/5-3/2 = "+a+"/"+b);

      result=r1.muti(r2); 

      a=result.getNumerator();

      b=result.getDenominator();  

      System.out.println("1/5×3/2 = "+a+"/"+b);

      result=r1.div(r2);

      a=result.getNumerator();

      b=result.getDenominator();   

      System.out.println("1/5÷3/2 = "+a+"/"+b);

      int n=10,k=1;

      System.out.println("计算2/1+3/2+5/3+8/5+13/8…的前"+n+"项和.");

      Rational sum=new Rational();

      sum.setNumerator(0);

      Rational item=new Rational();

      item.setNumerator(2);

      item.setDenominator(1);

      while(k<=n) {

         sum=sum.add(item);

         k++;

         int fenzi=item.getNumerator();

         int fenmu=item.getDenominator();

         item.setNumerator(fenzi+fenmu);

         item.setDenominator(fenzi);

      } 

      a=sum.getNumerator();

      b=sum.getDenominator();

      System.out.println("用分数表示:");

      System.out.println(a+"/"+b);

      double doubleResult=(a*1.0)/b;

      System.out.println("用小数表示:");

      System.out.println(doubleResult); 

   }

}


